/*
 * Copyright 2007-2008  Lukasz Laszko lukaszlaszko@gmail.com
 * 
 * Permission to use, copy, modify, and distribute this software
 * and its documentation for any purpose and without fee is hereby
 * granted, provided that the above copyright notice appear in all
 * copies and that both that the copyright notice and this
 * permission notice and warranty disclaimer appear in supporting
 * documentation, and that the name of the author not be used in
 * advertising or publicity pertaining to distribution of the
 * software without specific, written prior permission.
 * 
 * The author disclaim all warranties with regard to this
 * software, including all implied warranties of merchantability
 * and fitness.  In no event shall the author be liable for any
 * special, indirect or consequential damages or any damages
 * whatsoever resulting from loss of use, data or profits, whether
 * in an action of contract, negligence or other tortious action,
 * arising out of or in connection with the use or performance of
 * this software. 
 */
package org.pg.biomedics.asr.mpeg7;

import org.simpleframework.xml.Attribute;

/**
 * Base bastract class for both WordLink and PhoneLink
 * @author Lukasz Laszko
 */
public abstract class Link 
{
    // <editor-fold desc="Fields">
    
    /** the probability of the link in the lattice */
    private double probability;
    
    /** indicates the node to which this link leads, specified as a relative offset. Default value = 1 */
    private int nodeOffset = 1;
    
    /** the score assigned to the link’s recognition hypothesis by the acoustic models of the ASR engine */
    private double acousticScore;   
    
    // </editor-fold>
    
    // <editor-fold desc="Properties">
    
    @Attribute(name="probability")
    public double getProbability()
    {
        return probability;
    }

    @Attribute(name="probability")
    public void setProbability(double probability)
    {
        this.probability = probability;
    }

    @Attribute(name="nodeOffset")
    public int getNodeOffset()
    {
        return nodeOffset;
    }

    @Attribute(name="nodeOffset")
    public void setNodeOffset(int nodeOffset)
    {
        this.nodeOffset = nodeOffset;
    }

    @Attribute(name="acousticScore")
    public double getAcousticScore()
    {
        return acousticScore;
    }

    @Attribute(name="acousticScore")
    public void setAcousticScore(double acousticScore)
    {
        this.acousticScore = acousticScore;
    }
    
    // </editor-fold>
}
